Chapter 6\Employees2.dtd

<!ENTITY % employees.body "employee+">
<!ENTITY % employee.body 
		"name, position, address, phone">
<!ENTITY % name.body "first, last">
<!ENTITY % address.body 
		"street?, city?, state?, zip?">
<!ENTITY % phone.body 
		"main, office*, fax*, mobile*, home*">

<!ELEMENT employees ( %employees.body; )>

<!ELEMENT employee ( %employee.body; )>
<!ATTLIST employee id ID #REQUIRED>

<!ELEMENT name ( %name.body; )>
<!ELEMENT first (#PCDATA)>
<!ELEMENT last  (#PCDATA)>

<!ELEMENT position (#PCDATA)>

<!ELEMENT address ( %address.body; )>
<!ELEMENT street (#PCDATA)>
<!ELEMENT city   (#PCDATA)>
<!ELEMENT state  (#PCDATA)>
<!ELEMENT zip    (#PCDATA)>

<!ELEMENT phone ( %phone.body; )>
<!ELEMENT main   (#PCDATA)>
<!ELEMENT office (#PCDATA)>
<!ELEMENT fax    (#PCDATA)>
<!ELEMENT mobile (#PCDATA)>
<!ELEMENT home   (#PCDATA)>